<?php 

require_once '../controller/Conexao.class.php';
require_once '../model/Usuario.php';

class UsuarioDAO {
	
	private  $conexao;
	
	public function __construct() {
		$this->conexao = Conexao::getConexao();
	}
		
	public function cadastrarEditarUsuario($usuario){
		if ($usuario->getId() == null){
			$this->conexao->exec("INSERT INTO `conttas`.`usuario` (`nome`,`email`,`senha`,`ativo`) 
					VALUES ('".$usuario->getNome()."','".$usuario->getEmail()."','".$usuario->getSenha()."','".$usuario->getAtivo()."')");
		}else {
			$this->conexao->exec("UPDATE `conttas`.`usuario` 
					SET `nome` = '".$usuario->getNome()."', 
					`email` = '".$usuario->getEmail()."', 
					`senha` = '".$usuario->getSenha()."',
					`ativo` = '".$usuario->getAtivo()."' 
					WHERE `idUsuario` = '".$usuario->getId()."'");
		}
	}
	
	public function pesquisarPorId($id) {
		foreach ($this->conexao->query(
				"SELECT * FROM `conttas`.`usuario`
				WHERE `idUsuario` = '".$usuario->getId()."'") as $linha) {
				$usuario = new Usuario($linha['nome'], $linha['email'], $linha['senha']);
				$usuario->setId($id);
				$usuario->setAtivo($linha['ativo']);
		}
		return $usuario;
	}

	public function validarUsuario($email, $senha, $ativo) {
		$usuarios = array();
		foreach ($this->conexao->query(
				"SELECT * FROM `conttas`.`usuario` WHERE `email` = '$email' AND `senha` = '$senha' AND `ativo` = $ativo") as $linha) {
				$usuario = new Usuario($linha['nome'], $linha['email'], $linha['senha']);
				$usuario->setId($linha['idUsuario']);
				$usuario->setAtivo($linha['ativo']);
				$usuarios[] = $usuario;
		}
		if(count($usuarios) == 1){
			return $usuario;
		}else{
			return null;
		}
		
	}

	public function obterTodos() {
		$usuarios = array();
		foreach ($this->conexao->query(
				"SELECT * FROM `conttas`.`usuario`") as $linha) {
				$usuario = new Usuario($linha['nome'], $linha['email'], $linha['senha']);
				$usuario->setId($linha['idUsuario']);
				$usuario->setAtivo($linha['ativo']);
				$usuarios[] = $usuario;
		}
		return $usuarios;
	}
	
	public function excluir($id) {
		$this->conexao->exec("DELETE FROM `conttas`.`usuario` WHERE `idUsuario` = $id");
	}
	
}
?>